home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 20 / Cream of the Crop 20 (Terry Blount) (1996).iso / program / prtfrm51.zip / FRMSRC.ZIP / FDEMO05.PAS < prev    next >
Pascal/Delphi Source File  |  1996-06-22  |  6KB  |  222 lines

  1. unit Fdemo05;
  2.  
  3. interface
  4.  
  5. uses
  6.   SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
  7.   StdCtrls, Forms, DBCtrls, DB, DBTables, Mask, ExtCtrls, Grids, DBGrids,
  8.   Buttons, PrnWin, HRuler, Totals, CB_Types;
  9.  
  10. type
  11.   TForm05 = class(TForm)
  12.     ScrollBox: TScrollBox;
  13.     EditCustNo: TDBEdit;
  14.     EditOrderNo: TDBEdit;
  15.     EditSaleDate: TDBEdit;
  16.     EditShipDate: TDBEdit;
  17.     EditShipToPhone: TDBEdit;
  18.     EditShipVIA: TDBEdit;
  19.     EditPO: TDBEdit;
  20.     EditTerms: TDBEdit;
  21.     EditPaymentMethod: TDBEdit;
  22.     DBNavigator: TDBNavigator;
  23.     Panel1: TPanel;
  24.     DataSource1: TDataSource;
  25.     Panel2: TPanel;
  26.     Table1: TTable;
  27.     Table2: TTable;
  28.     DataSource2: TDataSource;
  29.     DBGrid1: TDBGrid;
  30.     Table3: TTable;
  31.     DataSource3: TDataSource;
  32.     PrintWin1: TPrintWin;
  33.     Print: TBitBtn;
  34.     Table3OrderNo: TFloatField;
  35.     Table3ItemNo: TFloatField;
  36.     Table3PartNo: TFloatField;
  37.     Table3Qty: TIntegerField;
  38.     Table3Discount: TFloatField;
  39.     Edit1: TEdit;
  40.     Edit2: TEdit;
  41.     Edit3: TEdit;
  42.     Edit4: TEdit;
  43.     Edit5: TEdit;
  44.     Edit6: TEdit;
  45.     Edit7: TEdit;
  46.     Edit8: TEdit;
  47.     Edit9: TEdit;
  48.     DataSource4: TDataSource;
  49.     Table4: TTable;
  50.     Table4PartNo: TFloatField;
  51.     Table4VendorNo: TFloatField;
  52.     Table4Description: TStringField;
  53.     Table4OnHand: TFloatField;
  54.     Table4OnOrder: TFloatField;
  55.     Table4Cost: TCurrencyField;
  56.     Table4ListPrice: TCurrencyField;
  57.     Table3ListPrice: TCurrencyField;
  58.     Table3Total: TCurrencyField;
  59.     Label1: TLabel;
  60.     Edit19: TEdit;
  61.     DBEdit1: TDBEdit;
  62.     Edit20: TEdit;
  63.     Edit21: TEdit;
  64.     Panel3: TPanel;
  65.     Shape2: TShape;
  66.     Panel5: TPanel;
  67.     DBEdit9: TDBEdit;
  68.     DBEdit10: TDBEdit;
  69.     DBEdit11: TDBEdit;
  70.     DBEdit12: TDBEdit;
  71.     DBEdit13: TDBEdit;
  72.     DBEdit14: TDBEdit;
  73.     DBEdit15: TDBEdit;
  74.     Panel4: TPanel;
  75.     DBEdit2: TDBEdit;
  76.     DBEdit3: TDBEdit;
  77.     DBEdit4: TDBEdit;
  78.     DBEdit5: TDBEdit;
  79.     DBEdit6: TDBEdit;
  80.     DBEdit7: TDBEdit;
  81.     DBEdit8: TDBEdit;
  82.     Label3: TLabel;
  83.     Label4: TLabel;
  84.     Label5: TLabel;
  85.     Label6: TLabel;
  86.     Shape3: TShape;
  87.     Exit: TBitBtn;
  88.     ShowTotal1: TShowTotal;
  89.     ShowTotal2: TShowTotal;
  90.     ShowTotal3: TShowTotal;
  91.     ShowTotal4: TShowTotal;
  92.     ShowTotal5: TShowTotal;
  93.     Table3Description: TStringField;
  94.     Label7: TLabel;
  95.     ShowTotal6: TShowTotal;
  96.     ShowTotal7: TShowTotal;
  97.     ShowTotal8: TShowTotal;
  98.     ShowTotal9: TShowTotal;
  99.     ShowTotal10: TShowTotal;
  100.     ShowTotal11: TShowTotal;
  101.     ShowTotal12: TShowTotal;
  102.     ShowTotal13: TShowTotal;
  103.     Memo2: TMemo;
  104.     Label2: TLabel;
  105.     Label8: TLabel;
  106.     Image1: TImage;
  107.     Preview: TBitBtn;
  108.     procedure FormCreate(Sender: TObject);
  109.     procedure PrintClick(Sender: TObject);
  110.     procedure PrintWin1PrintHeader(Sender: TObject);
  111.     procedure Table3CalcFields(DataSet: TDataset);
  112.     procedure ExitClick(Sender: TObject);
  113.     procedure FormActivate(Sender: TObject);
  114.     procedure PreviewClick(Sender: TObject);
  115.   private
  116.     { private declarations }
  117.   public
  118.     { public declarations }
  119.   end;
  120.  
  121. var
  122.   Form05: TForm05;
  123.  
  124. implementation
  125.  
  126. {$R *.DFM}
  127.  
  128. procedure TForm05.FormCreate(Sender: TObject);
  129. begin
  130.   Table1.Open;
  131.   Table2.Open;
  132.   Table3.Open;
  133.   Table4.Open;
  134. end;
  135.  
  136. procedure TForm05.PrintClick(Sender: TObject);
  137. begin
  138.     PrintWin1.OutputTo := poPrinter;
  139.     PrintWin1.BeginPrint;
  140.  
  141.     PrintWin1.SetColumnWidth ( DBGrid1, 'ItemNo', 0.75);
  142.   PrintWin1.SetColumnWidth ( DBGrid1, 'PartNo', 0.75);
  143.   PrintWin1.SetColumnWidth ( DBGrid1, 'Description', 1.5);
  144.   PrintWin1.SetColumnWidth ( DBGrid1, 'Qty', 0.5);
  145.   PrintWin1.SetColumnWidth ( DBGrid1, 'List Price', 0.75);
  146.   PrintWin1.SetColumnWidth ( DBGrid1, 'Discount', 0.75);
  147.   PrintWin1.SetColumnWidth ( DBGrid1, 'Total', 1);
  148.   PrintWin1.DrawWindowMultiple( 1, 1, ScrollBox);
  149.  
  150.   PrintWin1.EndPrint;
  151. end;
  152.  
  153. procedure TForm05.PrintWin1PrintHeader(Sender: TObject);
  154. var
  155.     Tot: Real;
  156.   Cur: Real;
  157. begin
  158.     if PrintWin1.IsLastPage then begin
  159.       Tot := PrintWin1.GetRunningTotal (DBGrid1, 'Total');
  160.  
  161.      { Say tax = 10% }
  162.      Cur := Tot * 0.1;
  163.       ShowTotal2.Text := FormatFloat('$ #,##0.00',Cur);
  164.      Tot := Tot + Cur;
  165.  
  166.      { Add Freight say fixed }
  167.      Cur := 100.0;
  168.       ShowTotal3.Text := FormatFloat('$ #,##0.00',Cur);
  169.      Tot := Tot + Cur;
  170.  
  171.         { Misc = 0 }
  172.      Cur := 0.00;
  173.       ShowTotal4.Text := FormatFloat('$ #,##0.00',Cur);
  174.       ShowTotal5.Text := FormatFloat('$ #,##0.00',Tot);
  175.   end;
  176. end;
  177.  
  178. procedure TForm05.Table3CalcFields(DataSet: TDataset);
  179. var
  180.     St: Boolean;
  181. begin
  182.  
  183.   Table3ListPrice.Value := Table4ListPrice.Value;
  184.   Table3Total.Value := Table3ListPrice.Value * Table3Qty.Value;
  185.  
  186.      Table4.Active := True;
  187.      Table4.GoToKey;
  188.   Table4.FindKey([Table3PartNo.AsString]);
  189.      Table3Description.Value := Table4Description.Value;
  190. end;
  191.  
  192. procedure TForm05.ExitClick(Sender: TObject);
  193. begin
  194.     Close;
  195. end;
  196.  
  197. procedure TForm05.FormActivate(Sender: TObject);
  198. begin
  199.     ShowTotal1.Text := '0.00';
  200. end;
  201.  
  202.  
  203. procedure TForm05.PreviewClick(Sender: TObject);
  204. begin
  205.   PrintWin1.OutputTo := poViewer;
  206.   PrintWin1.BeginPrint;
  207.  
  208.   PrintWin1.SetColumnWidth ( DBGrid1, 'ItemNo', 0.75);
  209.   PrintWin1.SetColumnWidth ( DBGrid1, 'PartNo', 0.75);
  210.   PrintWin1.SetColumnWidth ( DBGrid1, 'Description', 1.5);
  211.   PrintWin1.SetColumnWidth ( DBGrid1, 'Qty', 0.5);
  212.   PrintWin1.SetColumnWidth ( DBGrid1, 'List Price', 0.75);
  213.   PrintWin1.SetColumnWidth ( DBGrid1, 'Discount', 0.75);
  214.   PrintWin1.SetColumnWidth ( DBGrid1, 'Total', 1);
  215.   PrintWin1.DrawWindowMultiple( 1, 1, ScrollBox);
  216.  
  217.   PrintWin1.EndPrint;
  218.  
  219. end;
  220.  
  221. end.
  222.